-
Notifications
You must be signed in to change notification settings - Fork 7.9k
ext/fileinfo: softmagic.c has error: expected identifier #10074
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
@@ -512,6 +512,7 @@ check_fmt(struct magic_set *ms, const char *fmt) | |||
# if defined(__aiws__) || defined(_AIX) | |||
# define strndup aix_strndup /* aix is broken */ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's no point in defining this just to unset it later. I assume the implementation of strndup
should've been in the #else
block.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I ve tried on my old centos 7 instance (which genuinely is old enough for not having its glibc with strndup) and the build passes without error tough. So you re right @iluuu1994 here anyway, it should be in a else block but even simpler I think the whole can be removed, estrndup is used instead anyway it seems what do you think ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, it's not even used. In that case removing it is definitely preferable.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just want to fix the compilation problem and make it pass. You have found the root problem. I tried removing the whole definition. Passed perfectly. Therefore, follow-up to your official handling of this issue.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Might even be better to provide the patch upstream; we could then update to the new libmagic version.
Submitted upstream as: https://bugs.astron.com/view.php?id=409 |
@midoks could you provide the preprocessor output cc -E of those lines? As this is what they seem to need upstream to investigate the report. |
@Girgias
I don't know if this is the information you want? |
Thank you, hopefully this is indeed the wanted information and I have relayed it upstream. |
CentOS Linux 7.9.2009 (Core)
To prevent build failures like:
/www/server/source/php/php82/ext/fileinfo/libmagic/softmagic.c:507:7: error: expected identifier or ‘(’ before ‘extension’
char *strndup(const char *, size_t);
^
/www/server/source/php/php82/ext/fileinfo/libmagic/softmagic.c:510:1: error: expected identifier or ‘(’ before ‘extension’
strndup(const char *str, size_t n)
^
make: *** [libmagic/softmagic.lo] Error 1
make: *** [libmagic/softmagic.lo] Error 1
i fix it.